package main

import (
	"fmt"
	"github.com/boltdb/bolt"
	"log"
)

//数据库的名字
const dbFile="blockchain.db"

//相当于表的名字
const blockBucket="blocks"

func main(){

	//========下面是创建文件夹的代码=================
	//如果数据库存在，就打开，如果数据库不存在，就创建
	db,err:=bolt.Open(dbFile,0600,nil)
	if err!=nil{
		log.Fatal("%v",err)
	}
	defer db.Close()//当数据库不使用的时候应当被关闭

	//下面的代码是创建或者更新数据库
	db.Update(func (tx *bolt.Tx)error{
		//判断表是否存在
		b:=tx.Bucket([]byte(blockBucket))
		if b==nil{
			fmt.Println("这张表不存在，正在创建一张新的表......")

			//创建表
			b,err:=tx.CreateBucket([]byte(blockBucket))
			if err!=nil{
				log.Panic(err)
			}


			//添加数据到表
			//key和value的形式，但是都得是字节数组
			err=b.Put([]byte("丹丹"),[]byte("从新开始!"))
			if err!=nil{
				log.Panic(err)
			}

			err=b.Put([]byte("李大宝"),[]byte("一定会成为富翁的!"))
			if err!=nil{
				log.Panic(err)
			}
		}


		return nil
	})
}

